class Fox {//class 子类 extends 父类 { 来继承 }
    //定义属性
    constructor(seletor) {
        // super()关键字
        this.arr = [];//用来保留兄弟节点
        this.seletor = document.querySelector(seletor)
    }
    //定义方法
    // 找到同辈的元素
    siblings(){
        let prev = this.seletor.previousSibling //找前一个同胞节点
        //先网上查询兄弟节点
        while(prev) {
            if (prev.nodeType == 1 && prev.tagName ==this.seletor.tagName)
                this.arr.unshift(prev);//数组首部插入，并保证节点顺序
            prev = prev.previousSibling //把上一节点重新赋值
        }
        let next = this.seletor.nextSibling //后一个同胞节点
        while(next) {
            if (next.nodeType == 1 && next.tagName == this.seletor.tagName)
                this.arr.push(next)
            next = next.nextSibling
        }
        return this
    }
    //获取元素的id名
    id(arr){
        return document.getElementById(arr)
    }
    //获取元素的css选择器
    $(arr){
        return document.querySelector(arr)
    }
    //获取多个元素的css选择器
    $all(arr){
        return document.querySelectorAll(arr)
    }
    //创建节点元素
    est(arr){
        return document.createElement(arr)
    }
    //连续定时器
    inter(fun,sun){
        return setInterval(fun,sun)
    }
    //只执行一次的定时器
    out(fun,sun){
        return setTimeout(fun,sun)
    }
    css(arr,value){
        return arr.style.cssText = value
    }
    //没0取0  用于data对象中
    size(sun){
        return sun<10? "0"+sun:sun
    }
    //走马灯效果，形参为css的选择器
    time(arr){
        let fox = new Fox()
        let box = fox.$(arr)
        let boxTxt = box.innerText//获取元素的内容
        let first = boxTxt[0]//获取内容的第一个下标
        let last = boxTxt.slice(1,boxTxt.length)//把第一个字符删除
        let pin = last+first//字符串拼接
        box.innerText=pin//拼接后的字符串赋给元素
    }
    //标签向上循环移动
    up(arr1,arr2){
        let fox = new Fox()
        const box = fox.$(arr1)
        let ul = fox.$(arr2)
        let ul_1 = fox.est("ul")
        box.appendChild(ul_1)
        ul_1.innerHTML=ul.innerHTML
        if (box.scrollTop>=ul.offsetHeight){
            box.scrollTop=0
        }else {
            box.scrollTop++
        }
    }
}
//cookie的创建
function cookie(name,value,day) {
    // document.cookie="name=value;epires=date";
    let date = new Date()
    date.setDate(date.getDate()+day)
    document.cookie=name+"="+value+";epires"+date
}

//cookie的读取
function read(name) {
    let arr = document.cookie.split(("; "));
    let str = ""
    for (let i = 0 ; i<arr.length ; i++){
        let arr2=arr[i].split("=");
        if (arr2[0]==name){
            str = arr2[1];
        }
    }
    return str
}
////cookie的删除
function del(name) {
    cookie(name,1,-1)
    cookie(1,value,-1)
}
//数组排序
Array.prototype.seq = function (){
   this.sort(a,b => a-b)
}
//数组求和
Array.prototype.sum = function () {
    var total =0
    var arr=this;
    for (var i=0;i<arr.length;i++){
        total+=arr[i]
    }
    return total;
}
//数组去重
Array.prototype.unip = function () {
    let num=[]
    let arr=this
    for (let i=0 ; i<arr.length ;i++){
        if (num.indexOf(arr[i])==-1){
            num.push(arr[i])
        }
    }
}